#define _CRT_SECURE_NO_WARNINGS l
#include<stdio.h>

//void go(int a, int b)
//{
//	int i = 0;
//	for (i = a; i > 0; i--)
//	{
//		if (a % i == 0)
//		{
//			if (b % i == 0)
//			{
//				printf("%d", i);
//				break;
//			}
//		}
//	}
//}
//
//void bei(int a, int b)
//{
//	int i = 0;
//	for (i = 0; i; i++)
//	{
//		if (i % a == 0)
//		{
//			if (i % b == 0)
//			{
//				printf("%d", i);
//				break;
//			}
//
//		}
//	}
//}
//int main()
//{
//	int a = 0;
//	int b = 0;
//	scanf("%d %d", &a, &b);
//	go(a, b);
//	bei(a, b);
//	return 0;
//}

int main()
{
    long long n, m;
    scanf("%lld %lld", &n, &m);
    long long max = 0;
    long long min = 0;
    long long tmp = 0;
    long long a = n;
    long long b = m;

    while (tmp = n % m)
    {
        n = m;
        m = tmp;
    }
    max = m;
    min = a * b / max;
    printf("%lld", min + max);
    return 0;
}
